package com.yanmaohu.nikita.data.operator;

import com.yanmaohu.nikita.scanner.TokenType;

/**
 * @author Bright Lee
 */
public enum AssignmentOperator {

    ASSIGN(TokenType.ASSIGN),

    ADD_ASSIGN(TokenType.ADD_ASSIGN),
    SUB_ASSIGN(TokenType.SUB_ASSIGN),
    MUL_ASSIGN(TokenType.MUL_ASSIGN),
    DIV_ASSIGN(TokenType.DIV_ASSIGN),
    REM_ASSIGN(TokenType.REM_ASSIGN),
    EXP_ASSIGN(TokenType.EXP_ASSIGN),

    BIT_AND_ASSIGN(TokenType.BIT_AND_ASSIGN),
    BIT_OR_ASSIGN(TokenType.BIT_OR_ASSIGN),

    AND_ASSIGN(TokenType.AND_ASSIGN),
    OR_ASSIGN(TokenType.OR_ASSIGN),

    PRE_DEC(TokenType.DEC_ASSIGN),
    PRE_INC(TokenType.INC_ASSIGN),
    SUF_DEC(TokenType.DEC_ASSIGN),
    SUF_INC(TokenType.INC_ASSIGN);

    private final TokenType tokenType;

    AssignmentOperator(TokenType tokenType) {
        this.tokenType = tokenType;
    }

}
